home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / comm / net / rhslip38_9_030.lha / rhslip / README.Rhialto < prev    next >
Text File  |  1994-01-26  |  5KB  |  122 lines

  1. Short: SANA2 rh(c)slip.device
  2. Uploader: Pekka.Pessi@hut.fi
  3. Type: comm/net
  4. Version: $Id: README.Rhialto,v 38.1 1994/01/25 09:31:56 ppessi Exp $
  5.  
  6. This is a modified version of Commodores example SANA driver:
  7. the slip.device. As released, it contained a number of bugs and
  8. misfeatures. This version has been renamed to rh(c)slip.device. 
  9.  
  10. This is second major release of rh(c)slip.device, containing some new
  11. features and bug fixes.
  12.  
  13. Installation
  14. ------------
  15.  
  16.   - Summary: Place the file rh(c)slip.device in DEVS:Networks/ and
  17.     slip<unit>.config in ENV:SANA2/ and ENVARC:SANA2/.
  18.  
  19.     If the configuration file rhslip<unit>.config is not found, then
  20.     (rhcslip.device tries also cslip<unit>.config) slip<unit>.config.  This
  21.     is for compatibility with other (c)slip devices.
  22.  
  23.   - If you are going to compile rh(c)slip.device, it is best to get the
  24.     full, original SANA developer package. It is available on Fish disk
  25.     number 779. Newer versions may be available by ftp.
  26.  
  27. Additions
  28. ---------
  29.  
  30. V38:
  31.   - New EOFMODE flag in configuration file determines whether the
  32.     SERF_EOFMODE feature of serial device is used.  This prevents the
  33.     slip.device from hogging the CPU at high priority, and even at equal
  34.     priority improves efficiency.  This may not work with all serial device
  35.     replacements.
  36.  
  37.   - You can change the maximum frame size with the new MTU parameter in the
  38.     configuration file.
  39.  
  40. V37:
  41.   - Now also header-compressed slip. (See RFC-1144 by Van Jacobson).  This
  42.     is even compatible with non-comressing slip drivers, as it first tries
  43.     to trigger the other side of the connection into using compression as
  44.     well, but ceases these attempts if they appear unsuccessful. In any
  45.     case, once the other side starts sending compressed headers, it is
  46.     turned on in the local-to-remote direction as well.
  47.  
  48. Corrected bugs
  49. --------------
  50.  
  51. V38:
  52.   - There was a problem with header compression failures.  The device driver
  53.     dropped IO message if an error occurred in the header uncompression
  54.     routine.  The driver eventually jammed when all IO requests had been
  55.     lost.
  56.  
  57.   - The CD flag messed with online state.  The serial device was closed
  58.     while the driver thought to be online.  The CD sensing code is also
  59.     sanitized, the CD line is checked every time a packet is sent.
  60.  
  61.   - The offline code is now *supposed* to work with DEMANDREAD.
  62.  
  63. V37:
  64.   - The AbortIO function erroneously assumed that A3 was the Unit pointer.
  65.     Even Commodore's official example in the RKM gets that wrong (see page
  66.     567).
  67.  
  68.   - S2_GETGLOBALSTATS always returned an error, even though it worked.
  69.     Well, it got the microseconds of the last online wrong.
  70.  
  71.   - S2_TRACKTYPE had two bugs: it would always think a type that you
  72.     requested to track would not yet be tracked, even if it would get the
  73.     packet type right, which it didn't. As a result, every call to
  74.     S2_TRACKTYPE allocated memory for the statistics, yet S2_GETTYPESTATS
  75.     always claimed the type wasn't being tracked.
  76.  
  77.   - S2_GETSTATIONADDRESS should return 2 addresses, the current address, and
  78.     the ROM address. It used to give only a 0.0.0.0 "ROM" address in the
  79.     wrong location. Now, it considers the address in the config file the
  80.     "ROM" address, and the one from S2_CONFIGINTERFACE is the current
  81.     address. Initially both are the same (and both are futher ignored since
  82.     they are meaningless to slip).
  83.  
  84.   - S2_DEVICEQUERY didn't give all required information, and claimed a weird
  85.     size for it.
  86.  
  87.   - Flags set when opening the serial device should be in io->io_SerFlags,
  88.     not in the flags argument to OpenDevice().
  89.  
  90.   - Returned read requests from the serial device were sized by their
  91.     io_Length instead of io_Actual.
  92.  
  93.   - Serial input could potentially overflow the input buffer.
  94.  
  95.   - The code assumed, by using registered arguments, that the callback
  96.     routines would have their arguments in the correct registers.  Now the
  97.     type of the pointer explicitly declares the calling convention.
  98.  
  99.   - Eliminated use of SLIPBase as __builtin_getreg(14).
  100.  
  101. Corrected misfeatures
  102. ---------------------
  103.  
  104.   - The device now runs at the same priority as the opener. This helps
  105.     preventing starvation of the opener in case of high amounts of input.
  106.  
  107.   - Uses the serial.device's SERF_EOFMODE mode. This prevents the
  108.     slip.device from hogging the CPU at high priority, and even at equal
  109.     priority improves efficiency.
  110.  
  111. Debatable issues
  112. ----------------
  113.  
  114.   - Optionally, serial device reads are only initiated when they are
  115.     (already) requested by the caller. This is contrary to the SANA
  116.     philosophy, and therefore makes debugging protocol stacks more
  117.     difficult. On the other hand, why not use the serial device's buffer to
  118.     keep input, instead of dropping it? This also reduces CPU load in case
  119.     the device is open but unused for some reason.  (As it was, the
  120.     slip.device would continually read and decode packets, even if nobody
  121.     wanted them.)
  122.